package com.yang.service.admin;

import com.yang.bean.MarketCoupon;
import com.yang.bean.common.BasePageInfo;
import com.yang.bean.common.BaseRespVo;
import com.yang.bean.common.CommonData;
import com.yang.bean.szy.MarketCouponBO;
import com.yang.bean.szy.MarketCouponUpdateBO;
import com.yang.bean.szy.MarketCouponVO;
import com.yang.bean.szyWX.WxcouponExchangeBO;
import com.yang.bean.szyWX.WxcouponReceiveBO;
import org.springframework.transaction.annotation.Transactional;

import javax.servlet.http.HttpServletRequest;

@Transactional
public interface AdminCouponService {
    BaseRespVo<CommonData<MarketCoupon>> queryAllCoupon(BasePageInfo info, String name, Integer type,Integer status);

    BaseRespVo<MarketCouponVO> createCoupon(MarketCouponBO marketCouponBO);

    BaseRespVo<MarketCouponUpdateBO> updateCoupon(MarketCouponUpdateBO marketCouponUpdateBO);

    void deleteCoupon(MarketCoupon marketCoupon);

    BaseRespVo<CommonData> queryListuser(Integer page, Integer limit, Integer couponId, String sort, String order);

    BaseRespVo<MarketCoupon> queryCoupon(Integer id);

    void receiveCoupon(WxcouponReceiveBO wxcouponReceiveBO, HttpServletRequest request);

    CommonData queryAllMyCoupon(BasePageInfo info, Integer status, Integer userId);

    void exchangeCoupon(WxcouponExchangeBO wxcouponExchangeBO,HttpServletRequest request);


    CommonData selectListCoupon(Integer cartId, Integer grouponRulesId, Integer userId);

    CommonData<MarketCoupon> couponList(Integer page, Integer limit);
}
